﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace B.S.DataBase.Production.Domain
{
    /// <summary>
    /// 补料主件
    /// </summary>
    public class ReplenishmentModel
    {
        [Key]
        public int Id { get; set; }
        /// <summary>
        /// 单据主题（必填）
        /// </summary>
        public  string DocumentSubject { get; set; }

        /// <summary>
        /// 单据编号（保存后自动生成）
        /// </summary>
        public string DocumentNumber { get; init; } = null!;

        /// <summary>
        /// 来源单据类型（默认"无来源"）
        /// </summary>
        public string SourceDocumentType { get; set; } 

        /// <summary>
        /// 来源单据（关联上游单据时填写）
        /// </summary>
        public string? SourceDocument { get; set; }

        /// <summary>
        /// 制单人员（自动填充当前用户）
        /// </summary>
        public string Creator { get; init; } 

        /// <summary>
        /// 补料日期（默认当天）
        /// </summary>
        public DateTime ReplenishmentDate { get; set; } = DateTime.Now;

        /// <summary>
        /// 补料数量合计（自动计算明细总和）
        /// </summary>
        public int TotalReplenishmentQuantity { get; set; }

        /// <summary>
        /// 制单日期（自动生成）
        /// </summary>
        public DateTime CreationDate { get; init; } = DateTime.Now;

        /// <summary>
        /// 关联项目（可选）
        /// </summary>
        public string? RelatedProject { get; set; }

        /// <summary>
        /// 备注（可选）
        /// </summary>
        public string? Remarks { get; set; }
    }
}
